Tech-Ecke / Programmieren / ESP-32-CAM

ESP-32-CAM


Dieses ESP-32-Modul kommt mit einer Kamera, SD-Kartenslot und Flash-LED daher. Dank integriertem WLAN vom ESP32 hat man hiermit die komplette Basis einer WebCam, aber es lassen sich damit auch einige interessante IoT-Projekte umsetzen.
Beim Kauf sollte man darauf achten, dass man das Modul (links) direkt im Bundle mit einem Entwicklerboard (rechts) kauf. Natürlich lässt es sich auch, wie jeden anderen ESP mittels USB-Serial-Adapter und ein paar Kabel auch so programmieren, jedoch ist es mit einem angesteckten Entwicklerboard per USB-Buchse eleganter. Zum Betrieb ist es jedoch nicht ratsam die Spannungsversorgung nur über den USB-Port vom Entwicklerboard bereitzustellen, dazu gleich mehr.  



  Tasmota

Die einfachste und gleichzeitig auch schnellste Möglichkeit dem Kameramodul etwas Leben einzuhauchen, ist das Aufspielen einer speziellen Tasmota-Firmware. Dazu kann man z.B. Tasmotizer oder diesen Tasmota Web-Installer nutzen. Dort wählt man zunächst die passende Firmware "Tasmota32 WebCam" aus und folgt den Anweisungen auf dem Bildschirm. Die Schritte zum einbinden der Kamera ins heimische Netzwerk sind die gleichen wie bei jedem Tasmota-Gerät und kann man sich z.B. hier abgucken.  Die Kamera ist prinzipiell direkt nach dem Aufspielen der Firmware und einrichten des WLANs als lokale WebCam nutzbar.

Alternativ zu Tasmotizer und Web-Installer kann auch hier ein Image, auf Basis von Tasmota 14.3.0.2 heruntergeladen werden. Dieses lässt sich z.B. mit TE CloneESP auf das Modul aufgespielen. Hier ist dann auch schon der Toggle-Button für die LED und die Temperaturanzeige eingerichtet. Zudem sind die Optionen "Gedreht" und "Gespiegelt" aktiviert, sowie die Auflösung auf SVGA (800x600) gesetzt.

  Tasmota (v14.3.0.2) ESP-32-CAM Image (1.38 MB)

TE CloneESP (6.84 MB)

Flash-LED
Um die Flash-LED direkt von der Tasmota-Oberfläche aus schalten zu können muss GPIO4 als Relais definiert werden. Dazu klickt man zunächst auf den Button [Configuration], dann auf [Configure Module] und wählt im Drop-Down bei "IO GPIO4" -> "Relais" aus. Zum Abschluss speichert man diese Einstellung mit einem Klick auf [Save]. Nun kann man im Main Menu über den Toggle-Button die LED ein- und ausschalten.

Temperaturanzeige
Da das Kameramodul im Betrieb recht heiß wird, kann die Anzeige der Inneren ESP-Temperatur ganz sinnvoll sein. Dazu gibt man in der Konsole  "SetOption146 1" ein und bestätigt mit der Eingabetaste. Wie alle Befehle lässt sich auch dieser per HTTP-Request oder MQTT ans Modul schicken. Näheres dazu findet man hier.

Weitere Optionen
Die Kamera kann über verschiedene Optionen den aktuellen Bedürfnissen angepasst werden. Die Befehle dazu können entweder in der Konsole ausgeführt werden, oder aber auch per HTTP-Request oder MQTT. Hier mal einige der wichtigsten Befehle für die Einstellung des Kameramoduls:

Wc Query all camera settings
WcBrightness -2..+2 = set picture brightness
WcContrast -2..+2 = set picture contrast
WcFlip Flip camera image
  0 = disable (default)
  1 = enable
WcMirror Mirror camera image
  0 = disable (default)
  1 = enable
WcResolution Set camera resolution
  0 = 96x96 (96x96)
  1 = QQVGA2 (128x160)
  2 = QCIF (176x144)
  3 = HQVGA (240x176)
  4 = QVGA (320x240)
  5 = CIF (400x296)
  6 = VGA (640x480)
  7 = SVGA (800x600)
  8 = XGA (1024x768)
  9 = SXGA (1280x1024)
  10 = UXGA (1600x1200)
WcSaturation --2..+2 = set picture saturation



  Probleme mit Stromversorgung

Betreibt man das Modul rein über die USB-Buchse des Entwicklerboards, so zeigen sich störende Horizontalsteifen und das Bild ruckelt mit unter sehr stark. Beim Hinzuschalten der LED verschlimmert sich das Ganze dann auch noch. Der Grund dafür ist recht simpel: Das Entwicklerboard liefert nicht genügend Spannung. Von daher sollte man nach dem Einrichten der Kamera eine Externe Spannungsversorgung (5V) direkt auf das Board geben.



  CAD-Model

Wer das Modul in eine eigene Gehäusekonstruktion integrieren möchte, kann hier die CAD Daten herunterladen. Sie liegen im Format  IGS, STEP und STL vor.

  Download (als STL, IGS und STP)


Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !
[letzte Aktualisierung 26.04.2024]